module.exports = {
	// 基本路径
	publicPath: process.env.NODE_ENV === 'production' ? '/' : '/',

	// 输出文件目录
	outputDir: 'dist',

	// 放置静态资源的目录
	assetsDir: 'static',

	// 是否在保存的时候使用 `eslint-loader` 进行检查
	lintOnSave: process.env.NODE_ENV !== 'production',

	// 生产环境是否生成 sourceMap 文件
	productionSourceMap: false,

	// 开发服务器配置
	devServer: {
		// 移除 overlay 配置，或使用新的配置方式
		client: {
			overlay: {
				errors: true,
				warnings: false
			}
		},
		// 其他配置...
		host: '0.0.0.0',  // 允许外部访问
		port: 8083,  // 修改为8083，与后端跨域配置匹配
		https: false,
		open: true,   // 自动打开浏览器
		hot: true,    // 启用热更新
		proxy: {
			'/api': {
				target: process.env.VUE_APP_API_BASE_URL || 'http://localhost:8092',
				changeOrigin: true,
				ws: true,
				pathRewrite: {
					'^/api': '/api'
				}
			}
		}
	},
	css: {
		loaderOptions: {
			sass: {
				implementation: require('sass')
			}
		}
	},
	chainWebpack: (config) => {
		// 配置 Vue 模板编译器，识别 iconify-icon 为原生自定义元素
		config.module
			.rule('vue')
			.use('vue-loader')
			.tap((options) => {
				options.compilerOptions = {
					...(options.compilerOptions || {}),
					isCustomElement: (tag) => tag === 'iconify-icon'
				};
				return options;
			});
	},
};